• פוסטים
  • פורום

לעשות טאבים בקלות עם Jquery ללא JqueryUI

raslin,
 07 לנובמבר 2011
לעשות טאבים בקלות עם Jquery ללא JqueryUI



היום נאלצתי לעשות טאבים באיזה פרוייקט שאני עושה,
ובדרך כלל הפיתרון של כולם זה הטאבים של jqueryUI
זוהי סיפרייה נוספת ל jquery הרגיל שיש לה כמה UI חביבים בניהם הטאבים,
עם זאת, הקבצים כבדים ומסורבלים, וגם מגיעים עם עיצוב מוגזם לדעתי
שיכול להקשות להתאים אותו לצרכים שלכם.

אז האם יש אפשרות לעשות טאבים בלי סיפריית ה UI?
כן, פשוט בשימוש בספרייה המקורית לכתוב משהו משלכם,
הרבה יותר פשוט, וחוסך המון קוד מיותר לטעון
(ותאמינו לי, אני יודע, כל קילובייט נחשב) וכמובן הנוחות.

אז במקום לייבא כמה סיפריות, הנה דרך לעשות טאבים רק באמצעות jquery (הספריה הרגילה)

באופן פשוט נגדיר את הלשוניות של הטאבים:
<a name="tab1" class="tabs_title">tab1 title</a>
           <a name="tab2" class="tabs_title">tab2 title</a>



וכך נגדיר את התוכן:

<div id="all_tabs">
                      <div id="tabs1">
                        content 1
                      </div>
                      <div id="tab2">
                        content 2
                      </div>
            </div>


כפי שפשוט לראות, בdiv שהID שלו הוא שם הטאב, שם יופיע תוכן הטאב.

וכך נפעיל את כל העניין:
<script>
                       // hide everything that is not your first tab
      $('#all_tabs > div[id!="tab1"]').hide();
                       $('.tabs_title').click(function(){
                           var tn = $(this).attr("name");
                           
      //hide all the tabs that i didnt clicked
                           $('#all_tabs > div[id!="'+ tn  +'"]').hide();
 
                           
                           $('#' + tn).show();
                       });
                  </script>


קוד הג'אווה סקריפט הזה, הוא בעצם ה jquery הרגיל, לא ספריית הUI הכבדה והמעצבנת,
ובעזרת הסיפריה המקורית פשוט מאוד לעשות את אותו הדבר בידיוק,
רק להגדיר בתא הראשון את שם טאב ברירת המחדל.

אני אפילו אסביר מה בידיוק עושה הקוד הזה,
סלקטורים בJQUERY, נועדו לבחור אלמנטים בעמוד שלנו ולעשות עליהם מניפולציות שונות.
הקוד הנ"ל "מאזין" ללחיצה על הקישורים הסוג שלהם הוא טאבים (לפי שם המחלקה),
בודק מה נלחץ, ולפי השם מסתיר את התוכן של כל מה שלא נלחץ,
ומציג רק את התא שצריך.
מקווה שלמדתם להתעסק עם סלקטורים יותר מורכבים ב jquery ושיהיה בהצלחה.


כמובן שזה לא מעוצב, ומי שרוצה שכל הקישורים ישבו כמו שצריך בשורה, וגם לסדר את התוכן מוזמן לעשות זאת באמצעות CSS פשוט.


raslin raslin

תגובות לכתבה:

dan252  09/11/2011 10:17
פשוט וטוב :) ואפשר לעשות גם אפקטים של slidein וכדומה..
raz1001  09/11/2011 20:49
שאלה - מה הכוונה בטאבים?
כלומר מין כרטיסיות?
iiddaannyy  09/11/2011 21:39
כן, כרטיסיות...
raz1001  09/11/2011 21:40
אני אני מיבא את הסיפריה של ה jquery ?
תודה על העזרה
dan252  10/11/2011 22:47
<script src="http://code.jquery.com/jquery-1.7.min.js"></script>;
ספר חינם על MVC שאתה הולך להוריד כי אם אתה רוצה ללמוד על ארגון קוד יעיל ומודרני באתרים כמו זה או פייסבוק או כי כולם אוהבים להוריד דברים איכותיים בחינם מהאינטרנט

ספר הלימוד - תכנות מונחה עצמים מאפס שסוף סוף ילמד אותך פיתוח מונחה עצמים נכון בצורה פשוטה, יענה על כל השאלות ויכין אותך לרעיונות עבודה.

קורס בדיקות יחידה phpunit שיעזור לך להקטין בחצי את כמות הבאגים, את כאב הראש והזמן המבוזבז על פתירתם

קורס mysql אינטרקטיבי שיייקח אותך צעד אחר צעד למומחה שאילתות mysql לייב


האתר ב-readonly
תודה לכל מי שתרם, ענה, שאל, כתב, לימד ועזר במשך השנים
orelbey, splash, raslin, cayce, iiddaannyy, michael, kingyes, ilikeme, itamarhadad, iosolidar, jbstyle
- alex@הדומיין הזה